# ifndef __DatabaseTable_H_
# define __DatabaseTable_H_

class CDatabaseTable {
  public:
	virtual size_t GetFields () const = 0;
	virtual const char * GetFieldName (size_t _cField) const = 0;

	virtual size_t GetRecords () const = 0;
	virtual bool RecordExists (size_t _cRecord) const = 0;

	// Upper estimation for the field length in bytes.
	virtual size_t GetFieldMaxLength (size_t _cRecord, size_t _cField) const = 0;
	// NOTE: _buf should have sufficient size: at least length + 1 byte.
	// Returns number of copied bytes (except terminating null).
	virtual size_t GetFieldS (size_t _cRecord, size_t _cField, char * _buf) const = 0;
};

# endif // __DatabaseTable_H_